using System;
using System.Collections.Generic;

namespace XEvolve.Repository.Core
{
    public interface IRepository
    {
        T Save<T>(T entity) where T : IEntity;
        bool Delete<T>(T entity) where T : IEntity;
        IEnumerable<T> Find<T>(Predicate<T> criteria) where T : IEntity;
        void ClearAll();
        void Clear<T>();
    }
}
